﻿using System;
using System.Collections.Generic;
using System.Text;
using Validate.Library;

namespace Project.Model
{
    /// <summary>
    /// 工资结算请求
    /// </summary>
    public class SalarySettlementRequest
    {

        /// <summary>
        /// 支付方式ID（结算弹出对话框选中）
        /// </summary>
        public int PayMethodID
        {
            get; set;
        }

        /// <summary>
        /// 支付方式名称（结算弹出对话框选中，如果没财务不知道，用什么方式给员工付款）
        /// </summary>
        public string PayMethodName
        {
            get; set;
        }

        /// <summary>
        ///工资年份
        /// </summary>
        public int MyYear
        {
            get; set;
        }

        /// <summary>
        ///工资月份
        /// </summary>
        public int MyMonth
        {
            get; set;
        }

        /// <summary>
        ///是否异常工资
        /// </summary>
        public bool Question
        {
            get; set;
        }

        /// <summary>
        /// 工资单备注
        /// </summary>
        public string Rmark
        {
            get; set;
        }

        /// <summary>
        /// 开始时间
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.DateTime, Description = "开始时间")]
        public DateTime BegTime
        {
            get; set;
        }

        /// <summary>
        /// 结束时间
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.DateTime, Description = "结束时间")]
        public DateTime EndTime
        {
            get; set;
        }

        /// <summary>
        /// 这次工资发放指定项目的代码
        /// </summary>
        public string CheckProjectNo
        {
            get; set;
        }

        /// <summary>
        /// 员工代码
        /// </summary>
        public string UserNo
        {
            get; set;
        }

        /// <summary>
        ///员工姓名 
        /// </summary>
        public string Name
        {
            get; set;
        }


        /// <summary>
        /// 姓名拼音
        /// </summary>
        public string PYM
        {
            get; set;
        }

        /// <summary>
        /// 性别
        /// </summary>
        public string Sex
        {
            get; set;
        }

        /// <summary>
        /// 身份证号
        /// </summary>
        public string Code
        {
            get; set;
        }


        /// <summary>
        /// 银行卡号
        /// </summary>
        public string BankNo
        {
            get; set;
        }

        /// <summary>
        /// 银行
        /// </summary>
        public string BankName
        {
            get; set;
        }

        /// <summary>
        /// 工种ID
        /// </summary>
        public int? WorkTypeID
        {
            get; set;
        }

        /// <summary>
        /// 工种名称
        /// </summary>
        public string WorkTypeName
        {
            get; set;
        }

        /// <summary>
        /// 已经审核出勤
        /// </summary>
        public decimal WorkDay
        {
            get; set;
        }

        /// <summary>
        /// 没有审核的出勤
        /// </summary>
        public decimal NoWorkDay
        {
            get; set;
        }

        /// <summary>
        /// 加班小时
        /// </summary>
        public decimal OverTime
        {
            get; set;
        }

        /// <summary>
        /// 加班工资
        /// </summary>
        public decimal TOverMoney
        {
            get; set;
        }

        /// <summary>
        /// 借款
        /// </summary>
        public decimal LoanMoney
        {
            get; set;
        }

        /// <summary>
        /// 还款
        /// </summary>
        public decimal LoanBackMoney
        {
            get; set;
        }

        /// <summary>
        /// 计件工资
        /// </summary>
        public decimal AmountMoney
        {
            get; set;
        }

        /// <summary>
        /// 考勤X工资=应发工资
        /// </summary>
        public decimal TWorkMoney
        {
            get; set;
        }

        /// <summary>
        ///始发工资就是减去借款（本来是还有各种补贴，那个是后面领导追加（交通补贴，奖金等））
        /// </summary>
        public decimal RealMoney
        {
            get; set;
        }
    }
}
